package com.ldu.houserent.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ldu.houserent.common.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;


/*
    房屋信息
 */
@EqualsAndHashCode(callSuper = true)
@Data       //引入lombok插件后，通过该注解可以不用写get和set方法
@TableName("t_house")       //@TableName是让此实体类映射表名,从而使用BaseMapper的增删改查方法时能增删改查到正确的表
public class House extends BaseEntity {

    //房东用户id
    private Long userId;
    //出租类型  整租whole，合租share
    private String rentType;
    //房屋名称
    private String title;
    //详细描述
    private String content;
    //城市描述
    private String city;
    //详细地址
    private String address;
    //缩略图url
    private String thumbnailUrl;
    //轮播图url
    private String slideUrl;
    //月租金额
    private Integer monthRent;
    //状态    0未租出 1已租出 -1已下架 -2待审核 -3审核不通过
    private Integer status;
    //房产证号
    private String cetificateNo;
    //卫生间数量
    private Integer toiletNum;
    //厨房数量
    private Integer kichenNum;
    //客厅数量
    private Integer livingRoomNum;
    //卧室数量
    private Integer bedroomNum;
    //是否有空调，1有空调，0没有空调
    private Integer hasAirConditioner;
    //面积
    private Double area;
    //当前所在的楼层数
    private Integer floor;
    //房屋最大楼层数
    private Integer maxFloor;
    //是否有电梯 1有 0没有
    private Integer hasElevator;
    //建成年份
    private Integer buildYear;
    //房屋朝向
    private String direction;
    //上次开始入住时间
    private Date lastOrderStartTime;
    //上次结束入住时间
    private Date lastOrderEndTime;
    //房屋所在的经纬度
    private String longitudeLatitude;
    //联系人姓名
    private String contactName;
    //联系人电话
    private String contactPhone;

    //轮播图列表
    @TableField(exist = false)      //声明一下不是数据库字段
    private List<String> slideImgList;
    //合租房屋列表
    @TableField(exist = false)      //声明一下不是数据库字段
    private List<House> shareHouseList;
    //该房屋的订单
    @TableField(exist = false)
    private Order currentOrder;
}
